package com.example.algorithm.service;

import java.util.List;

/**
 * @auth Administrator
 * @create @2024/7/31@21:30
 * @decription 回溯算法
 * 1.定义解空间
 * 2.深度有限搜索
 * 3.约束检查与减肢
 * 4.限界函数
 * 5.回溯
 * 6.记录解
 **/
public interface BacktrackingService {

    public List<List<Integer>> permute(int[] nums);

    public List<List<Integer>> subsets(int[] nums);

    public List<String> letterCombinations(String digits);

    public List<List<Integer>> combinationSum(int[] candidates, int target);

    public List<String> generateParenthesis(int n);

    public boolean exist(char[][] board, String word);

    public List<List<String>> partition(String s);

    public List<List<String>> solveNQueens(int n);

}
